package com.zhangtai.modules.vo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class MemberEmpBpmUpdateVo {
    /**
     * 编号
     */

    @NotNull(message = "id不能为空")
    @ApiModelProperty(value="id",required = true)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;

    /**
     * 姓名
     */
    @ApiModelProperty(value="姓名",required = false)
    private String name;
    /**
     * 性别
     */
    @ApiModelProperty(value="性别，0：男，1：女，字符串型",required = false)
    private String gender;
    /**
     * 身份证号
     */
    @ApiModelProperty(value="身份证号",required = false)
    private String idcard;
    /**
     * 民族
     */
    @ApiModelProperty(value="民族",required = false)
    private String nation;

    /**
     * 籍贯省
     */
    @ApiModelProperty(value="籍贯省",required = false)
    private String nativeplaceProvince;

    /**
     * 籍贯
     */
    @ApiModelProperty(value="籍贯",required = false)
    private String nativeplace;
    /**
     * 国籍
     */
    @ApiModelProperty(value="国籍",required = false)
    private String nationality;
    /**
     * 手机
     */
    @ApiModelProperty(value="手机",required = false)
    private String mobile;


    /**
     * 政治面貌
     */
    @ApiModelProperty(value="政治面貌",required = false)
    private String polity;
    /**
     * 户口所在地
     */
    @ApiModelProperty(value="户口所在地",required = false)
    private String regresidence;
    /**
     * 家庭地址
     */
    @ApiModelProperty(value="家庭地址",required = false)
    private String address;
    /**
     * 个人电子邮件
     */
    @ApiModelProperty(value="电子邮箱",required = false)
    private String privatemail;

    /**
     * 是否退伍兵
     */
    @ApiModelProperty(value="是否退伍兵，1：是，2：否",required = false)
    private String disbandment;
    /**
     * 婚姻状况
     */
    @ApiModelProperty(value="婚姻状况",required = false)
    private String marital;
    /**
     * 参加工作日期
     */
    @ApiModelProperty(value="参加工作日期",required = false)
    private Date beginworkdate;
    /**
     * 生日
     */
    @ApiModelProperty(value="生日",required = false)
    private Date birthday;


    /**
     * 联系方式
     */
    @ApiModelProperty(value="联系方式",required = false)
    private String contact;





    /**
     * 预计入职时间
     */
    @ApiModelProperty(value="预计入职时间",required = false)
    private Date hiredate;



//    @ApiModelProperty(value="招聘录入：0, 员工提交信息：1, 发起BPM审批：2, 完成：3",required = false)
//    private Integer preSubmit;

    /**
     * 招聘渠道
     */
    @ApiModelProperty(value="招聘渠道",required = false)
    private String channel;
    /**
     * 招聘网站
     */
    @ApiModelProperty(value="招聘网站",required = false)
    private String recruitmentWeb;
    /**
     * 推荐人-内部
     */
    @ApiModelProperty(value="推荐人-内部",required = false)
    private String innerReferrer;
    /**
     * 推荐人-外部
     */
    @ApiModelProperty(value="推荐人-外部",required = false)
    private String outerReferrer;

    /**
     * 原单位月薪
     */
    @ApiModelProperty(value="原单位薪资，需要手动录入",required = true)
    private BigDecimal oldSalary;

    /**
     * 原单位绩效
     */
    @ApiModelProperty(value="原单位绩效，需要手动录入",required = true)
    private BigDecimal oldPerformance;
    /**
     * 健康状态
     */
    @ApiModelProperty(value="健康状态：1：非常好，2：良好，3：一般，4：有生理缺陷，5:残废",required = false)
    private String healthstatus;


    @ApiModelProperty(value="原单位工资流水图片",required = false)
    private List<String> oldSalaryRecordUrl;

    @ApiModelProperty(value="一寸照片url",required = false)
    private String photoUrl;


    @ApiModelProperty(value="毕业证",required = false)
    private String graduationUrl;

    @ApiModelProperty(value="学位证",required = false)
    private String degreeUrl;

    @ApiModelProperty(value="离职证明",required = false)
    private String dimissionUrl;

    @ApiModelProperty(value="体检报告",required = false)
    private String healthUrl;

    @ApiModelProperty(value="身份证正反面",required = false)
    private List<String> idcardImgs;

    /**
     * 用户是否填写
     */
    @ApiModelProperty(value="用户是否填写",required = false)
    private Integer isMemberDone;

    @ApiModelProperty(value="退伍军人编号",required = false)
    private String veteranNum;

    @ApiModelProperty(value="职称证书",required = false)
    private List<String>  credential;

    @ApiModelProperty(value="其他附件",required = false)
    private List<String> attachments;


    /**
     * 专业类型
     */
    @ApiModelProperty(value = "专业类型", required = false)
    private String professionalType;
    /**
     * 岗位星级
     */
    @ApiModelProperty(value = "岗位星级", required = false)
    private String positionStar;
    /**
     * 是否复职
     */
    @ApiModelProperty(value = "是否复职", required = false)
    private String reinstatement;
    /**
     * 档案编号
     */
    @ApiModelProperty(value = "档案编号", required = false)
    private String fileNumber;

    @ApiModelProperty(value = "是否公司负责人，null：不是，1：是", required = false)
    private String iscentreprincipal;

    @ApiModelProperty(value = "是否部门负责人，null：不是，1：是", required = false)
    private String isdepartmentprincipa;

    /**
     * 劳动合同期限
     */
    private Integer laborContractYears;

}
